package com.hhxy.web;

import com.hhxy.pojo.Brand;
import com.hhxy.service.BrandService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 结构划分：表现层（UI）& 控制器（ Controller）
 * 表现层：包括了控制器 和 视图的功能
 *         这里是表现层的一部分，调用业务逻辑层（Service）的功能获取数据并转发数据（然后展示数据）
 * 控制器：调用业务模型（Model）的功能获取数据并转发数据（展示数据交给视图）
 */
@WebServlet("/SelectAllServlet")
public class SelectAllServlet extends HttpServlet {
    //细节：因为在该类中要多次使用BrandService对象所以提升作用域
    BrandService service = new BrandService();

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("doPost方法被调用了");

        this.doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("doGet方法被调用了");
        /*查询所有*/
        //1、获取BrandService对象
        //2、调用BrandService对象完成查询
        List<Brand> brands = service.selectAll();
        //3、将数据存入Request域对象中
        request.setAttribute("brands",brands);
        //4、请求转发到brand.js，让其响应数据
        request.getRequestDispatcher("/jsp/brand.jsp").forward(request,response);
    }
}
